package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysMenuApp;

import java.util.List;

/**
 * APP权限Service接口
 * 
 * @author ruoyi
 * @date 2024-10-17
 */
public interface ISysMenuAppService 
{
    /**
     * 查询APP权限
     * 
     * @param menuId APP权限主键
     * @return APP权限
     */
    public SysMenuApp selectSysMenuAppByMenuId(Long menuId);

    /**
     * 查询APP权限列表
     * 
     * @param sysMenuApp APP权限
     * @return APP权限集合
     */
    public List<SysMenuApp> selectSysMenuAppList(SysMenuApp sysMenuApp);

    /**
     * 新增APP权限
     * 
     * @param sysMenuApp APP权限
     * @return 结果
     */
    public int insertSysMenuApp(SysMenuApp sysMenuApp);

    /**
     * 修改APP权限
     * 
     * @param sysMenuApp APP权限
     * @return 结果
     */
    public int updateSysMenuApp(SysMenuApp sysMenuApp);

    /**
     * 批量删除APP权限
     * 
     * @param menuIds 需要删除的APP权限主键集合
     * @return 结果
     */
    public int deleteSysMenuAppByMenuIds(Long[] menuIds);

    /**
     * 删除APP权限信息
     * 
     * @param menuId APP权限主键
     * @return 结果
     */
    public int deleteSysMenuAppByMenuId(Long menuId);

    public List<TreeSelect> buildMenuTreeSelect(List<SysMenuApp> menus);
}
